package video

import (
	"gorm.io/plugin/soft_delete"
	"time"
)

type XkVideoCategory struct {
	// 一般公司的ID 创建时间和更新时间是不允许更改的 此处是学习使用
	ID           uint                  `gorm:"primarykey;comment:主键ID" json:"id" form:"id"`
	CategoryName string                `json:"categoryName" gorm:"not null;default:'';comment:分类名称"`
	Description  string                `json:"description" gorm:"not null;default:'';comment:分类描述"`
	CreateTime   time.Time             `gorm:"type:datetime(0);autoCreateTime;comment:创建时间" json:"createTime"`
	UpdateTime   time.Time             `gorm:"type:datetime(0);autoCreateTime;comment:更新时间" json:"updateTime"`
	ParentId     uint                  `json:"parentId" gorm:"not null;default:0;comment:分类的主ID"`
	Status       int8                  `json:"status" gorm:"not null;default:1;comment:0 未发布 1 发布"`
	Sorted       int8                  `json:"sorted" gorm:"not null;default:1;comment:0 排序"`
	IsDelete     soft_delete.DeletedAt `gorm:"softDelete:flag;default:0;not null;comment:0未删除 1已删除" json:"isDelete" `
	// 忽略该字段，- 表示无读写，-:migration 表示无迁移权限，-:all 表示无读写迁移权限
	Children []*XkVideoCategory `gorm:"-" json:"children"`
}

func (XkVideoCategory) TableName() string {
	return "xk_video_category"
}
